package xcmg.device.service.vo.basic;

import io.swagger.annotations.ApiModelProperty;
import xcmg.device.service.vo.marketing.MarketingActivityPriceVO;
import xcmg.device.service.vo.marketing.MarketingMaterialsVO;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Created by GYJ on 2017-12-22.
 */
public class MaterialsVO {
    //企业编号
    private String orgId;
    //零件Id
    private String materialsId;
    //零件编号
    private String materialsNo;
    private String materialsTypeId;
    //零件分类
    private String materialsType;
    //零件分组
    private String materilasGroup;
    //单位
    private String unit;
    //库存数量
    private BigDecimal amount;
    //集购分类
    private String groupPurchClass;
    //集购品类
    private String groupPurchCategory;
    //自定义零件编号
    private String customMaterialsNo;
    //零件名称
    private String materialsDes;
    //配送类型
    private String deliveryType;
    //标准价格
    private BigDecimal standardPrice;
    //平价
    private BigDecimal parityPrice;
    //单价
    private BigDecimal price;
    //价格单位
    private String priceUnit;
    //采购类型
    private String purchaseType;
    //移动平均价
    private BigDecimal movingAveragePrice;
    //库存仓库
    private String stockLocation;
    //采购组
    private String purchaseGroup;
    //采购周期
    private String purchaseCycle;
    //进口件
    private Short entranceDevice;
    // 关键件
    private Short crucialDevice;
    //创建人
    private String createId;
    //修改人
    private String updateId;
    //
    private List<MaterialsRelationVO> materialsRelationList;

    private Integer sap;

    private String productGroup;
    private String materialsGroup;
    private String materialsGroupDec;
    private String outMaterialsGroup;
    private String outMaterialsGroupDec;

    private String userName;
    private String barCode;

    private BigDecimal settlementPrice;
    private String priceSchemeId;
    private String priceSchemeName;

    private String grade;

    private String gradeId;

    private BigDecimal enableNum = BigDecimal.ZERO;

    private BigDecimal intentionNum = BigDecimal.ZERO;

    private BigDecimal deliveryNum = BigDecimal.ZERO;

	  private BigDecimal someEnableNum = BigDecimal.ZERO;

    private String locationCode;

    private String areaCode;

    private String warehouseCode;

    private String keyWords;

    private String priceSchemeDesc;

    private String modelRateDesc;

    private BigDecimal safeAmount;

    private BigDecimal maxAmount;

    private List<MarketingActivityPriceVO> marketingActivityPriceVOList=new ArrayList<MarketingActivityPriceVO>();


    //购买量
    private Integer isMinimumBuy;
    private Integer minimumBuy;

    //替换零件
    private String replaceMaterialsNo;//替换零件名称
    private String replaceMaterialsDes; //替换零件名称
   private String retrofitMaterialsNo;//改型零件名称
    private String retrofitMaterialsDes;//改型零件名称
    private String replaceMaterialsNote;

    private String ratio;

  /**
   * 是否辅料：0否，1是
   */
    private Integer isExcipients;

    /**
     * 是否暂估价
     */
    private Integer provisionalPrice;

    /**
     * 是否集购零件
     */
    private Integer isGroupPur;

    /**
     * 备件所属机型
     */
    private String machineType;

    /**
     * 零件交货期。单位：月
     */
    private BigDecimal deliverySpend;


    /**
     * 折扣信息
     * */

    private String  activityId ;
    private String marketPrice;
    private String priceGroup;
    private String modeType;
    private String modeRate;

  /**
   * 全国销售统一价
   */
  private BigDecimal guidePrice;
    /**
     * 代理商采购基准价
     */
    private BigDecimal agentPurchasePrice;

    /**
     * 计划员ID
     */
    private String plannerId;

    /**
     * 计划员人名
     */
    private String plannerName;

    //主机厂设置图片
    private String orgImageUrl;

    //代理商设置图片
    private String dealerImageUrl;

    private BigDecimal weight;

    private String weightUnit;

    //零件详情
    private String materialsDetail;
	
	    
    //是否认证件：0-否，1-是
    private Integer authDevice;
    
    //是否有效： 0-是， 1-否
    private Integer validFlag;

    //零件尺寸
    private String materialsMeasure;

    //零件英文描述
    private String materialsDesEn;

    //A/B件 A 保养件易损件 B维修件
    private String maintenanceType;

    /**
     * 计划价格
     */
    private BigDecimal planedPrice;

    //是自制件：0-否，1-是
    private Integer selfMade;

    //是基础机：0-否，1-是
    private Integer basicMachine;

    //云内保内含税销售价
    private BigDecimal ynPrice;

    @ApiModelProperty(value = "自制件公司编码，是自制件时候设值")
    private String selfMadeCompanyCode;
    @ApiModelProperty(value = "自制件公司名称")
    private String selfMadeCompanyName;

    public String getSelfMadeCompanyCode() {
        return selfMadeCompanyCode;
    }

    public void setSelfMadeCompanyCode(String selfMadeCompanyCode) {
        this.selfMadeCompanyCode = selfMadeCompanyCode;
    }

    public String getSelfMadeCompanyName() {
        return selfMadeCompanyName;
    }

    public void setSelfMadeCompanyName(String selfMadeCompanyName) {
        this.selfMadeCompanyName = selfMadeCompanyName;
    }

    public BigDecimal getYnPrice() {
        return ynPrice;
    }

    public void setYnPrice(BigDecimal ynPrice) {
        this.ynPrice = ynPrice;
    }

    public BigDecimal getPlanedPrice() {
        return planedPrice;
    }

    public void setPlanedPrice(BigDecimal planedPrice) {
        this.planedPrice = planedPrice;
    }

    public String getMaintenanceType() {
        return maintenanceType;
    }

    public void setMaintenanceType(String maintenanceType) {
        this.maintenanceType = maintenanceType;
    }

    public String getMaterialsMeasure() {
        return materialsMeasure;
    }

    public void setMaterialsMeasure(String materialsMeasure) {
        this.materialsMeasure = materialsMeasure;
    }

    public String getMaterialsDesEn() {
        return materialsDesEn;
    }

    public void setMaterialsDesEn(String materialsDesEn) {
        this.materialsDesEn = materialsDesEn;
    }

    public Integer getProvisionalPrice() {
        return provisionalPrice;
    }

    public void setProvisionalPrice(Integer provisionalPrice) {
        this.provisionalPrice = provisionalPrice;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }

    public String getWeightUnit() {
        return weightUnit;
    }

    public void setWeightUnit(String weightUnit) {
        this.weightUnit = weightUnit;
    }

    public BigDecimal getGuidePrice() {
    return guidePrice;
  }

  public void setGuidePrice(BigDecimal guidePrice) {
    this.guidePrice = guidePrice;
  }

  public String getReplaceMaterialsNote() {
        return replaceMaterialsNote;
    }

    public void setReplaceMaterialsNote(String replaceMaterialsNote) {
        this.replaceMaterialsNote = replaceMaterialsNote;
    }

    public BigDecimal getDeliverySpend() {
      return deliverySpend;
    }

    public void setDeliverySpend(BigDecimal deliverySpend) {
      this.deliverySpend = deliverySpend;
    }

    public String getMachineType() {
      return machineType;
    }

    public void setMachineType(String machineType) {
      this.machineType = machineType;
    }


    public Integer getIsGroupPur() {
        return isGroupPur;
    }

    public void setIsGroupPur(Integer isGroupPur) {
        this.isGroupPur = isGroupPur;
    }

    private String supplierOrgId;

    private String supplierOrgName;

    public Integer getIsExcipients() {
      return isExcipients;
    }

    public void setIsExcipients(Integer isExcipients) {
      this.isExcipients = isExcipients;
    }

    public String getRetrofitMaterialsNo() {
        return retrofitMaterialsNo;
    }

    public void setRetrofitMaterialsNo(String retrofitMaterialsNo) {
        this.retrofitMaterialsNo = retrofitMaterialsNo;
    }

    public String getRetrofitMaterialsDes() {
        return retrofitMaterialsDes;
    }

    public void setRetrofitMaterialsDes(String retrofitMaterialsDes) {
        this.retrofitMaterialsDes = retrofitMaterialsDes;
    }

    //是否直投（昆明）
    private Integer isDirectCast;

    //是否直投（合肥）
    private Integer isDirectCastHF;

    /**
     * 零件简号
     * 对应字段：MATERIALS_SHORT_NO
     */
    private String materialsShortNo;

    /**
     * 零件所属车型
     * 对应字段：MODEL_CODE
     */
    private String modelCode;

    /**
     * 工厂
     * 对应字段：ARR_FACTORY
     */
    private String arrFactory;

    @ApiModelProperty(value = "规格包装", name = "packStandard")
    private Integer packStandard;
    //订购包装
    @ApiModelProperty(value = "订购包装", name = "packQuantity")
    private Integer packQuantity;
    @ApiModelProperty(value = "最小订购量", name = "minnum")
    private BigDecimal minnum;
    //优先级
    @ApiModelProperty(value = "优先级", name = "prio")
    private String prio;
    @ApiModelProperty(value = "生效时间", name = "effStart")
    private Date effStart;

    @ApiModelProperty(value = "出货地", name = "factoryId")
    private String factoryId;

    public String getFactoryId() {
        return factoryId;
    }

    public void setFactoryId(String factoryId) {
        this.factoryId = factoryId;
    }

    public Integer getPackStandard() {
        return packStandard;
    }

    public void setPackStandard(Integer packStandard) {
        this.packStandard = packStandard;
    }

    public Integer getPackQuantity() {
        return packQuantity;
    }

    public void setPackQuantity(Integer packQuantity) {
        this.packQuantity = packQuantity;
    }

    public BigDecimal getMinnum() {
        return minnum;
    }

    public void setMinnum(BigDecimal minnum) {
        this.minnum = minnum;
    }

    public String getPrio() {
        return prio;
    }

    public void setPrio(String prio) {
        this.prio = prio;
    }

    public Date getEffStart() {
        return effStart;
    }

    public void setEffStart(Date effStart) {
        this.effStart = effStart;
    }

    public Integer getIsDirectCastHF() {
        return isDirectCastHF;
    }

    public void setIsDirectCastHF(Integer isDirectCastHF) {
        this.isDirectCastHF = isDirectCastHF;
    }


    public Integer getIsDirectCast() {
        return isDirectCast;
    }

    public void setIsDirectCast(Integer isDirectCast) {
        this.isDirectCast = isDirectCast;
    }

    public String getReplaceMaterialsDes() {
        return replaceMaterialsDes;
    }

    public void setReplaceMaterialsDes(String replaceMaterialsDes) {
        this.replaceMaterialsDes = replaceMaterialsDes;
    }

    public String getReplaceMaterialsNo() {
        return replaceMaterialsNo;
    }

    public void setReplaceMaterialsNo(String replaceMaterialsNo) {
        this.replaceMaterialsNo =replaceMaterialsNo;
    }

    public Integer getIsMinimumBuy() {
        return isMinimumBuy;
    }

    public void setIsMinimumBuy(Integer isMinimumBuy) {
        this.isMinimumBuy = isMinimumBuy;
    }

    public Integer getMinimumBuy() {
        return minimumBuy;
    }

    public void setMinimumBuy(Integer minimumBuy) {
        this.minimumBuy = minimumBuy;
    }

    public List<MarketingActivityPriceVO> getMarketingActivityPriceVOList() {
        return marketingActivityPriceVOList;
    }

    public void setMarketingActivityPriceVOList(List<MarketingActivityPriceVO> marketingActivityPriceVOList) {
        this.marketingActivityPriceVOList = marketingActivityPriceVOList;
    }


    public String getBarCode() {
        return barCode;
    }

    public void setBarCode(String barCode) {
        this.barCode = barCode;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getProductGroup() {
        return productGroup;
    }

    public void setProductGroup(String productGroup) {
        this.productGroup = productGroup;
    }

    public String getMaterialsGroup() {
        return materialsGroup;
    }

    public void setMaterialsGroup(String materialsGroup) {
        this.materialsGroup = materialsGroup;
    }

    public String getMaterialsGroupDec() {
        return materialsGroupDec;
    }

    public void setMaterialsGroupDec(String materialsGroupDec) {
        this.materialsGroupDec = materialsGroupDec;
    }

    public String getOutMaterialsGroup() {
        return outMaterialsGroup;
    }

    public void setOutMaterialsGroup(String outMaterialsGroup) {
        this.outMaterialsGroup = outMaterialsGroup;
    }

    public String getOutMaterialsGroupDec() {
        return outMaterialsGroupDec;
    }

    public void setOutMaterialsGroupDec(String outMaterialsGroupDec) {
        this.outMaterialsGroupDec = outMaterialsGroupDec;
    }

    public Integer getSap() {
        return sap;
    }

    public void setSap(Integer sap) {
        this.sap = sap;
    }

    public List<MaterialsRelationVO> getMaterialsRelationList() {
        return materialsRelationList;
    }

    public void setMaterialsRelationList(List<MaterialsRelationVO> materialsRelationList) {
        this.materialsRelationList = materialsRelationList;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public String getMaterialsId() {
        return materialsId;
    }

    public void setMaterialsId(String materialsId) {
        this.materialsId = materialsId;
    }

    public String getMaterialsNo() {
        return materialsNo;
    }

    public void setMaterialsNo(String materialsNo) {
        this.materialsNo = materialsNo;
    }

    public String getCreateId() {
        return createId;
    }

    public void setCreateId(String createId) {
        this.createId = createId;
    }

    public String getUpdateId() {
        return updateId;
    }

    public void setUpdateId(String updateId) {
        this.updateId = updateId;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }


    public String getMaterialsTypeId() {
        return materialsTypeId;
    }

    public void setMaterialsTypeId(String materialsTypeId) {
        this.materialsTypeId = materialsTypeId;
    }

    public String getMaterialsType() {
        return materialsType;
    }

    public void setMaterialsType(String materialsType) {
        this.materialsType = materialsType;
    }


    public String getMaterilasGroup() {
        return materilasGroup;
    }

    public void setMaterilasGroup(String materilasGroup) {
        this.materilasGroup = materilasGroup;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public String getGroupPurchClass() {
        return groupPurchClass;
    }

    public void setGroupPurchClass(String groupPurchClass) {
        this.groupPurchClass = groupPurchClass;
    }

    public String getGroupPurchCategory() {
        return groupPurchCategory;
    }

    public void setGroupPurchCategory(String groupPurchCategory) {
        this.groupPurchCategory = groupPurchCategory;
    }

    public String getCustomMaterialsNo() {
        return customMaterialsNo;
    }

    public void setCustomMaterialsNo(String customMaterialsNo) {
        this.customMaterialsNo = customMaterialsNo;
    }

    public String getMaterialsDes() {
        return materialsDes;
    }

    public void setMaterialsDes(String materialsDes) {
        this.materialsDes = materialsDes;
    }

    public String getDeliveryType() {
        return deliveryType;
    }

    public void setDeliveryType(String deliveryType) {
        this.deliveryType = deliveryType;
    }


    public String getPriceUnit() {
        return priceUnit;
    }

    public void setPriceUnit(String priceUnit) {
        this.priceUnit = priceUnit;
    }

    public String getPurchaseType() {
        return purchaseType;
    }

    public void setPurchaseType(String purchaseType) {
        this.purchaseType = purchaseType;
    }

    public BigDecimal getStandardPrice() {
        return standardPrice;
    }

    public void setStandardPrice(BigDecimal standardPrice) {
        this.standardPrice = standardPrice;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getMovingAveragePrice() {
        return movingAveragePrice;
    }

    public void setMovingAveragePrice(BigDecimal movingAveragePrice) {
        this.movingAveragePrice = movingAveragePrice;
    }

    public String getStockLocation() {
        return stockLocation;
    }

    public void setStockLocation(String stockLocation) {
        this.stockLocation = stockLocation;
    }

    public String getPurchaseGroup() {
        return purchaseGroup;
    }

    public void setPurchaseGroup(String purchaseGroup) {
        this.purchaseGroup = purchaseGroup;
    }

    public String getPurchaseCycle() {
        return purchaseCycle;
    }

    public void setPurchaseCycle(String purchaseCycle) {
        this.purchaseCycle = purchaseCycle;
    }

    public Short getEntranceDevice() {
        return entranceDevice;
    }

    public void setEntranceDevice(Short entranceDevice) {
        this.entranceDevice = entranceDevice;
    }

    public Short getCrucialDevice() {
        return crucialDevice;
    }

    public void setCrucialDevice(Short crucialDevice) {
        this.crucialDevice = crucialDevice;
    }

    private List<MarketingMaterialsVO> marketingMaterialsList;

    public List<MarketingMaterialsVO> getMarketingMaterialsList() {
        return marketingMaterialsList;
    }

    public void setMarketingMaterialsList(List<MarketingMaterialsVO> marketingMaterialsList) {
        this.marketingMaterialsList = marketingMaterialsList;
    }

    public BigDecimal getSettlementPrice() {
        return settlementPrice;
    }

    public void setSettlementPrice(BigDecimal settlementPrice) {
        this.settlementPrice = settlementPrice;
    }

    public String getPriceSchemeId() {
        return priceSchemeId;
    }

    public void setPriceSchemeId(String priceSchemeId) {
        this.priceSchemeId = priceSchemeId;
    }

    public String getPriceSchemeName() {
        return priceSchemeName;
    }

    public void setPriceSchemeName(String priceSchemeName) {
        this.priceSchemeName = priceSchemeName;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public String getGradeId() {
        return gradeId;
    }

    public void setGradeId(String gradeId) {
        this.gradeId = gradeId;
    }

    public BigDecimal getEnableNum() {
        return enableNum;
    }

    public void setEnableNum(BigDecimal enableNum) {
        this.enableNum = enableNum;
    }

    public BigDecimal getIntentionNum() {
        return intentionNum;
    }

    public void setIntentionNum(BigDecimal intentionNum) {
        this.intentionNum = intentionNum;
    }

    public BigDecimal getDeliveryNum() {
        return deliveryNum;
    }

    public void setDeliveryNum(BigDecimal deliveryNum) {
        this.deliveryNum = deliveryNum;
    }

    public BigDecimal getSomeEnableNum() {
        return someEnableNum;
    }

    public void setSomeEnableNum(BigDecimal someEnableNum) {
        this.someEnableNum = someEnableNum;
    }

    public String getLocationCode() {
        return locationCode;
    }

    public void setLocationCode(String locationCode) {
        this.locationCode = locationCode;
    }

    public String getKeyWords() {
        return keyWords;
    }

    public void setKeyWords(String keyWords) {
        this.keyWords = keyWords;
    }

    public String getAreaCode() {
        return areaCode;
    }

    public void setAreaCode(String areaCode) {
        this.areaCode = areaCode;
    }

    public String getWarehouseCode() {
        return warehouseCode;
    }

    public void setWarehouseCode(String warehouseCode) {
        this.warehouseCode = warehouseCode;
    }

    public String getPriceSchemeDesc() {
        return priceSchemeDesc;
    }

    public void setPriceSchemeDesc(String priceSchemeDesc) {
        this.priceSchemeDesc = priceSchemeDesc;
    }

    public String getModelRateDesc() {
        return modelRateDesc;
    }

    public void setModelRateDesc(String modelRateDesc) {
        this.modelRateDesc = modelRateDesc;
    }

    public BigDecimal getSafeAmount() {
        return safeAmount;
    }

    public void setSafeAmount(BigDecimal safeAmount) {
        this.safeAmount = safeAmount;
    }

    public BigDecimal getMaxAmount() {
        return maxAmount;
    }

    public void setMaxAmount(BigDecimal maxAmount) {
        this.maxAmount = maxAmount;
    }

    public String getRatio() {
        return ratio;
    }

    public void setRatio(String ratio) {
        this.ratio = ratio;
    }

    public String getSupplierOrgId() {
        return supplierOrgId;
    }

    public void setSupplierOrgId(String supplierOrgId) {
        this.supplierOrgId = supplierOrgId;
    }

    public String getSupplierOrgName() {
        return supplierOrgName;
    }

    public void setSupplierOrgName(String supplierOrgName) {
        this.supplierOrgName = supplierOrgName;
    }

    public String getActivityId() {
        return activityId;
    }

    public void setActivityId(String activityId) {
        this.activityId = activityId;
    }

    public String getMarketPrice() {
        return marketPrice;
    }

    public void setMarketPrice(String marketPrice) {
        this.marketPrice = marketPrice;
    }

    public String getPriceGroup() {
        return priceGroup;
    }

    public void setPriceGroup(String priceGroup) {
        this.priceGroup = priceGroup;
    }

    public String getModeType() {
        return modeType;
    }

    public void setModeType(String modeType) {
        this.modeType = modeType;
    }

    public String getModeRate() {
        return modeRate;
    }

    public void setModeRate(String modeRate) {
        this.modeRate = modeRate;
    }

    public BigDecimal getAgentPurchasePrice() {
        return agentPurchasePrice;
    }

    public void setAgentPurchasePrice(BigDecimal agentPurchasePrice) {
        this.agentPurchasePrice = agentPurchasePrice;
    }

    public String getPlannerId() {
        return plannerId;
    }

    public void setPlannerId(String plannerId) {
        this.plannerId = plannerId;
    }

    public String getPlannerName() {
        return plannerName;
    }

    public void setPlannerName(String plannerName) {
        this.plannerName = plannerName;
    }

    public String getOrgImageUrl() {
        return orgImageUrl;
    }

    public void setOrgImageUrl(String orgImageUrl) {
        this.orgImageUrl = orgImageUrl;
    }

    public String getDealerImageUrl() {
        return dealerImageUrl;
    }

    public void setDealerImageUrl(String dealerImageUrl) {
        this.dealerImageUrl = dealerImageUrl;
    }

    public String getMaterialsDetail() {
        return materialsDetail;
    }

    public void setMaterialsDetail(String materialsDetail) {
        this.materialsDetail = materialsDetail;
    }
	
	public Integer getAuthDevice() {
		return authDevice;
	}

	public void setAuthDevice(Integer authDevice) {
		this.authDevice = authDevice;
	}

	public Integer getValidFlag() {
		return validFlag;
	}

	public void setValidFlag(Integer validFlag) {
		this.validFlag = validFlag;
	}

	public BigDecimal getParityPrice() {
		return parityPrice;
	}

	public void setParityPrice(BigDecimal parityPrice) {
		this.parityPrice = parityPrice;
	}

    public Integer getSelfMade() {
        return selfMade;
    }

    public void setSelfMade(Integer selfMade) {
        this.selfMade = selfMade;
    }

    public Integer getBasicMachine() {
        return basicMachine;
    }

    public void setBasicMachine(Integer basicMachine) {
        this.basicMachine = basicMachine;
    }

    public String getMaterialsShortNo() {
        return materialsShortNo;
    }

    public void setMaterialsShortNo(String materialsShortNo) {
        this.materialsShortNo = materialsShortNo;
    }

    public String getModelCode() {
        return modelCode;
    }

    public void setModelCode(String modelCode) {
        this.modelCode = modelCode;
    }

    public String getArrFactory() {
        return arrFactory;
    }

    public void setArrFactory(String arrFactory) {
        this.arrFactory = arrFactory;
    }
}
